//package com.miguo.utils;
//
//import com.miguo.framework.authorize.Digest;
//import com.miguo.framework.utils.RandomStringUtils;
//
//import org.json.JSONException;
//import org.json.JSONObject;
//
//import java.io.UnsupportedEncodingException;
//import java.util.LinkedHashSet;
//import java.util.Set;
//
///**
// * File Names: WebJsSign
// * Describe:
// * User: LinXiaoZhi(87100854@qq.com)
// * Date: 2015-10-31
// * Time: 21:53
// */
//public class WebJsSignBak {
//
//    private static int sign_ver = 1;
//
//    public static JSONObject sign(int code, String flags, String string) {
//        JSONObject result = new JSONObject();
//
//        try {
//            //System.out.println("加密String:" + string);
//
//            //转十六进制
//            char[] chars = "0123456789ABCDEF".toCharArray();
//            StringBuilder hexStr = new StringBuilder();
//
//            byte[] stringBytes = string.getBytes("utf-8");
//            int bit;
//            for (int i = 0; i < stringBytes.length; i++) {
//                bit = (stringBytes[i] & 0x0f0) >> 4;
//                hexStr.append(chars[bit]);
//                bit = stringBytes[i] & 0x0f;
//                hexStr.append(chars[bit]);
//            }
//            //System.out.println("hexStr:" + hexStr);
//
//            //过滤重复
//            Set<String> hexFilter = new LinkedHashSet<String>();
//            for (int i = 0; i < hexStr.length(); i++) {
//                hexFilter.add("" + hexStr.charAt(i));
//            }
//
//            String hexHash = "";
//            for (String filter : hexFilter) {
//                hexHash += filter;
//            }
//            //System.out.println("hexHash:" + hexHash);
//
//            String time = String.valueOf(DateUtils.getTime());
//            //System.out.println("时间:" + time);
//
//            StringBuilder hexHashAndTime = new StringBuilder(code + flags + hexHash + time);
//            hexHashAndTime.reverse();
//
//            //System.out.println("hexHashAndTime:" + hexHashAndTime);
//
//            StringBuilder md5Str = new StringBuilder(Digest.md5Hex(hexHashAndTime.toString().getBytes()));
//            //System.out.println("md5:" + md5Str.toString());
//
//            int md5Len = md5Str.length() % 10;
//            if (md5Len != 0) {
//                int len = 10 - md5Len;
//                String random = RandomStringUtils.randomAlphabetic(len);
//                md5Str.append(random);
////                for (int i = 0; i < len; i++) {
////                    md5Str.append((int) (Math.random() * 10));
////                }
//            }
//            md5Str.reverse();
//            //System.out.println("MD5补差倒序:" + md5Str.toString());
//
//            String md5ReverseStr = md5Str.toString();
//            //时间戳映射
//            String timeMap = "PwbOLaQyNk";
//            String newTime = "";
//            for (int i = 0; i < 10; i++) {
//                newTime += timeMap.charAt(Integer.parseInt("" + time.charAt(i)));
//            }
//            //System.out.println("时间映射:" + newTime);
//
//            int sub = md5ReverseStr.length() / 10;
//            StringBuilder sign = new StringBuilder();
//            for (int i = 0; i < 10; i++) {
//                sign.append(md5ReverseStr.substring(0, sub) + newTime.charAt(i));
//                md5ReverseStr = md5ReverseStr.substring(sub);
//            }
//            //System.out.println("sign:" + sign.toString());
//
//            result.put("sign", sign.toString());
//            result.put("sign_ver", sign_ver);
//        } catch (UnsupportedEncodingException e) {
//            e.printStackTrace();
//        } catch (JSONException e) {
//            e.printStackTrace();
//        }
//        return result;
//    }
//
//}
